.btn {
	display: inline-block;
	position: relative;
	/* padding: $btn-padding-y $btn-padding-x; */
	border: $btn-border-width solid transparent;
	/* border-radius: $border-radius; */
	background-image: none;
	box-shadow: $btn-box-shadow;
	cursor: pointer;
	line-height: $btn-line-height;
	vertical-align: middle;
	text-align: center;
	font-weight: $btn-font-weight;
	/* font-size: $btn-font-size; */
	color: $body-color;
	white-space: nowrap;
	transition: $btn-transition;

	@include button-size(
		$btn-padding-y,
		$btn-padding-x,
		$btn-font-size,
		$border-radius
	);

	&.disabled,
	&[disabled] {
		box-shadow: none;
		opacity: $btn-disabled-opacity;
		cursor: not-allowed;
		> * {
			pointer-events: none;
		}
	}
}

.btn-lg {
	@include button-size(
		$btn-padding-y-lg,
		$btn-padding-x-lg,
		$btn-font-size-lg,
		$border-radius-lg
	);
}

.btn-sm {
	@include button-size(
		$btn-padding-y-sm,
		$btn-padding-x-sm,
		$btn-font-size-sm,
		$border-radius-sm
	);
}

.btn-primary {
	@include button-style($primary, $primary, $white);
}

.btn-danger {
	@include button-style($danger, $danger, $white);
}

.btn-default {
	@include button-style(
		$white,
		$gray-400,
		$border-color,
		$white,
		$primary,
		$primary
	);
}

.btn-link {
	box-shadow: none;
	text-decoration: $link-decoration;
	font-weight: $font-weight-normal;
	color: $btn-link-color;

	&:hover {
		text-decoration: $link-hover-decoration;
		color: $btn-link-hover-color;
	}

	&:focus,
	&.focus {
		box-shadow: none;
		text-decoration: $link-hover-decoration;
	}

	&:disabled,
	&.disabled {
		pointer-events: none;
		color: $btn-link-disabled-color;
	}
}
